Thema Datum  Von Nutzer Rating
Antwort
Rot Simulation einer Batterie Ladung -> Fehler in der Berechnung...
06.10.2011 10:37:31 Gambler
NotSolved
06.10.2011 17:29:29 Holger
NotSolved

Ansicht des Beitrags:
Von:
Gambler
Datum:
06.10.2011 10:37:31
Views:
1390
Rating: Antwort:
  Ja
Thema:
Simulation einer Batterie Ladung -> Fehler in der Berechnung...

Hallo,

ich versuche Momentan ein Programm zu schreiben welches Anhand von einer vorgegebenen Energieerzeugung (PV)  und einem vorgegebenen Lastgang (Last) das Laden einer Batterie zu simulieren.

Hierbei werde die werte für den Strombezug von der Energiequelle (EV), die Einspeisung in das Netz (Einspeise), der Bezug aus dem Netz (Bezug) und dem Speicherstand (Speicher) errechnet. Der Speicherstand wird zu beginn auf 0 gesetz und durch eine Eingabe über eine TextBox begrenzt.

Ohne die Verwendung eines Speichers Funktioniert das Programm, aber sofern ich einen Wert für Speicher eintrage, sind erhebliche Fehler in der Berechnung vorhanden...

Vielleicht kann mir jemand einen Tipp geben, wie ich die Berechnung sauberer ausfüren kann...

 

For i = 1 To 35041
    Überschuss(i, 1) = CDbl(PV(i, 1)) - CDbl(Last(i, 1))

If i = 1 Then

    'Wenn mehr Last als Erzeugung
    If CDbl(Überschuss(i, 1)) < 0 Then
        Überschuss(i, 1) = CDbl(Überschuss(i, 1) * (-1))
        EV(i, 1) = CDbl(PV(i, 1))
        If CDbl(Überschuss(i, 1)) >= CDbl(0) Then
        Überschuss(i, 1) = CDbl(Überschuss(i, 1)) - CDbl(Speicher(i, 1))
        Bezug(i, 1) = CDbl(Überschuss(i, 1)) - CDbl(Speicher(i, 1))
        Speicher(i, 1) = CDbl(0)
        Else
        Speicher(i, 1) = CDbl(0) - CDbl(Überschuss(i, 1))
        Überschuss(i, 1) = CDbl(0)
       
        End If
    
    
        Einspeise(i, 1) = CDbl(0)
        
    'Wenn mehr Erzeugung als Last
    Else
        Bezug(i, 1) = CDbl(0)
        If CDbl(Überschuss(i, 1)) <= CDbl(Max) Then
        Speicher(i, 1) = CDbl(Speicher(i, 1)) + CDbl(Überschuss(i, 1))
        EV(i, 1) = CDbl(Last(i, 1)) + CDbl(Überschuss(i, 1))
        Einspeise(i, 1) = CDbl(0)
        Else
        Platz = CDbl(Max) - CDbl(0)
        Speicher(i, 1) = CDbl(Max)
        EV(i, 1) = CDbl(Last(i, 1))
        Einspeise(i, 1) = CDbl(Überschuss(i, 1)) - CDbl(Platz)
        
        End If
        
    End If

Else

    'Wenn mehr Last als Erzeugung
    If CDbl(Überschuss(i, 1)) < 0 Then
        Überschuss(i, 1) = CDbl(Überschuss(i, 1) * (-1))
        EV(i, 1) = CDbl(PV(i, 1))
        If CDbl(Überschuss(i, 1)) >= CDbl(Speicher(i - 1, 1)) Then
        Überschuss(i, 1) = CDbl(Überschuss(i, 1)) - CDbl(Speicher(i - 1, 1))
        'Geändert von Überschuss auf Last
        Bezug(i, 1) = CDbl(Last(i, 1) - PV(i, 1)) - CDbl(Speicher(i - 1, 1))
        Speicher(i, 1) = CDbl(Speicher(i - 1, 1)) - CDbl(Speicher(i - 1, 1))
        Else
        Speicher(i, 1) = CDbl(Speicher(i - 1, 1)) - CDbl(Überschuss(i, 1))
        Überschuss(i, 1) = CDbl(0)
       
        End If
    
    
        Einspeise(i, 1) = CDbl(0)
        
    'Wenn mehr Erzeugung als Last
    Else
        Bezug(i, 1) = CDbl(0)
        If CDbl(Überschuss(i, 1)) <= CDbl(Max) - CDbl(Speicher(i - 1, 1)) Then
        Speicher(i, 1) = CDbl(Speicher(i - 1, 1)) + CDbl(Überschuss(i, 1))
        EV(i, 1) = CDbl(Last(i, 1)) + CDbl(Überschuss(i, 1))
         
        Einspeise(i, 1) = CDbl(0)
        Else
        Platz = CDbl(Max) - CDbl(Speicher(i - 1, 1))
        Speicher(i, 1) = CDbl(Max)
        EV(i, 1) = CDbl(Last(i, 1))
        Einspeise(i, 1) = CDbl(Überschuss(i, 1)) - CDbl(Platz)
        
        End If
        
    End If

End If

Next i

 

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Simulation einer Batterie Ladung -> Fehler in der Berechnung...
06.10.2011 10:37:31 Gambler
NotSolved
06.10.2011 17:29:29 Holger
NotSolved